package com.jnshu.service;

import com.jnshu.dto.message.MessageListBackList;
import com.jnshu.dto.message.MessageListDetailDto;
import com.jnshu.dto.message.MessageVo;
import com.jnshu.tools.resultUtils.PageBean;
import com.jnshu.tools.resultUtils.ResultBean;
import org.quartz.SchedulerException;

import java.text.ParseException;

/**
 * @author xmp
 * @date 2019/8/6 16:59
 */
public interface MessageService {
    /**
     * 查询后台消息列表
     *
     * @param messageListBackList
     * @return
     */
    PageBean selectMessageList(MessageListBackList messageListBackList);

    PageBean selectMessage(int pageNum, int pageSize);

    /**
     * 查询后台消息详情
     *
     * @param id
     * @return
     */
    MessageListDetailDto selectMessageById(long id);


    /**
     * 后台消息新增
     *
     * @param messageVo
     * @return
     */
    ResultBean insertMessage(MessageVo messageVo) throws ParseException, SchedulerException;

    /**
     * 后台消息更新
     *
     * @param messageVo
     * @return
     */
    ResultBean updateMessage(MessageVo messageVo);

    /**
     * 后台消息删除
     *
     * @param id
     * @return
     */
    ResultBean deleteMessage(long id);

    /**
     * 更新消息上下架状态
     *
     * @param id
     * @param status
     * @return
     */
    ResultBean updateMessageStatus(long id, int status);

    /**
     * 前台消息列表
     */
    ResultBean uSelectMessage(int pageSize, int pageNum, long userId);

    /**
     * 前台消息详情
     */
    ResultBean uSelectId(Long id, long userId);


    /**
     * 一键已读
     */
  ResultBean selectRead(Long userId);

}
